62 #define SLAVE_ADDRESS 0x48
84 WDT_A_hold(WDT_A_BASE);
87 GPIO_setAsPeripheralModuleFunctionInputPin(
93 USCI_B_I2C_initMasterParam
param = {0};
94 param.selectClockSource = USCI_B_I2C_CLOCKSOURCE_SMCLK;
95 param.i2cClk = UCS_getSMCLK();
96 param.dataRate = USCI_B_I2C_SET_DATA_RATE_400KBPS;
97 USCI_B_I2C_initMaster(USCI_B0_BASE, &
param);
100 USCI_B_I2C_setSlaveAddress(USCI_B0_BASE,
105 USCI_B_I2C_setMode(USCI_B0_BASE,
106 USCI_B_I2C_TRANSMIT_MODE
110 USCI_B_I2C_enable(USCI_B0_BASE);
116 USCI_B_I2C_clearInterrupt(USCI_B0_BASE,
117 USCI_B_I2C_TRANSMIT_INTERRUPT
119 USCI_B_I2C_enableInterrupt(USCI_B0_BASE,
120 USCI_B_I2C_TRANSMIT_INTERRUPT
130 USCI_B_I2C_masterSendMultiByteStart(USCI_B0_BASE,
135 __bis_SR_register(LPM0_bits + GIE);
139 while (USCI_B_I2C_isBusBusy(USCI_B0_BASE)) ;
148 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
149 #pragma vector=USCI_B0_VECTOR
151 #elif defined(__GNUC__)
152 __attribute__((interrupt(USCI_B0_VECTOR)))
156 switch (__even_in_range(UCB0IV,12)){
157 case USCI_I2C_UCTXIFG:
162 USCI_B_I2C_masterSendMultiByteNext(USCI_B0_BASE,
170 USCI_B_I2C_masterSendMultiByteStop(USCI_B0_BASE);
173 USCI_B_I2C_clearInterrupt(USCI_B0_BASE,
174 USCI_B_I2C_TRANSMIT_INTERRUPT);
MPU_initThreeSegmentsParam param
__bic_SR_register_on_exit(LPM3_bits|GIE)